package com.fxw.annotation;

import java.lang.annotation.*;

/*
    @Target
    用于描述注解的使用范围,就是MasterDataSource这个注解可以用在什么地方,METHOD就是可以用在方法上
       1.CONSTRUCTOR:用于描述构造器
　　　　2.FIELD:用于描述域
　　　　3.LOCAL_VARIABLE:用于描述局部变量
　　　　4.METHOD:用于描述方法
　　　　5.PACKAGE:用于描述包
　　　　6.PARAMETER:用于描述参数
　　　　7.TYPE:用于描述类、接口(包括注解类型) 或enum声明

    @Inherited是一个标识,用来修饰注解
    作用:若一个类用了@Inherited修饰的注解,那么其子类也会集成这个注解
    注: 接口用上个@Inherited修饰的注解，其实现类不会继承这个注解
        父类的方法用了@Inherited修饰的注解，子类也不会继承这个注解
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)  //注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在.
@Documented
@Inherited
public @interface MasterDataSource {

}
